home *** CD-ROM | disk | FTP | other *** search
/ Almathera Ten Pack 3: CDPD 3 / Almathera Ten on Ten - Disc 3: CDPD3.iso / scope / 051-075 / scopedisk63 / thinker / demo < prev    next >
Text File  |  1995-03-19  |  46KB  |  1,018 lines

  1. Introduction
  2.  
  3.   This file is a very abbreviated version of the Thinker manual. 
  4.   It is intended only to help in using the demo version of 
  5.   Thinker.  The Demo version of Thinker cannot save any changes 
  6.   to files, does not import or export ASCII, nor does it print.  
  7.   Creating a new file will write on your disk and will in fact 
  8.   create a new Thinker document with a single statement 
  9.   (The copyright notice).  This version of Thinker will only
  10.   handle documents under 30,000 bytes in size. 
  11.  
  12. ******************************************************************
  13.  
  14.     Thinker is available for $59 until March 31, 1989 and
  15.     $99 thereafter from:
  16.  
  17.         Poor Person Software
  18.         3721 Starr King Circle
  19.         Palo Alto, CA 94306
  20.         (415)-493-7234
  21.  
  22.     Source for Tinydraw is available on request at no charge.
  23.  
  24. *******************************************************************
  25.  
  26.   Thinker can trace its heritage all the way back to Doug 
  27.   Englebart's work at SRI's Augmentation Research Laboratory.  
  28.   By combining elements of text processing, outline processing, 
  29.   and hypertext, Thinker becomes an Idea Processor that embodies 
  30.   the basics of Doug's ideas for augmenting the human intellect. 
  31.    The future of Thinker includes links to sound files, WYSIWYG 
  32.   print formatting, use of the  Amiga Clipboard, and more.
  33.  
  34.   What is HyperText?
  35.  
  36.     Footnotes are a form of HyperText.  Within the body of the 
  37.     text is a directive to look somewhere else in the text for 
  38.     more information.  With footnotes the directive is a 
  39.     footnote number while in HyperText the directive is in the 
  40.     form of a character string that "names" another section of 
  41.     the text.  In order for HyperText to work the text is 
  42.     divided into sections and each section has a label.
  43.  
  44.     One often encounters this form of textual link when a phrase 
  45.     like "See Chapter 2, section 1" appears in the text.  This 
  46.     type of link is good but can be carried further.  Imagine 
  47.     that each paragraph in a document had a label that described 
  48.     the topic discussed in the paragraph.  Now one could 
  49.     encounter the phase "See the section <correct use of the 
  50.     passive voice>" which would take you directly to the 
  51.     paragraph on passive voice.  However, where is that 
  52.     paragraph?  What Chapter?  What Page?
  53.  
  54.     When the document is online and being accessed via a 
  55.     HyperText processor, one simply points the mouse at the 
  56.     phase <correct use of the passive voice> and asks to see 
  57.     that paragraph.  Whether it is in chapter 10 or 2 is of no 
  58.     concern to the reader, the HyperText processor will find it 
  59.     and present it to the reader.
  60.  
  61.     HyperText documents do not have to be read linearly like a 
  62.     book.  One can begin in the section with the most interest 
  63.     and follow the links around the document to explore the 
  64.     subject.  The creator of the HyperText document had only to 
  65.     attach descriptive labels to the various sections of the 
  66.     document.
  67.  
  68.   What is Hierarchical Text?
  69.  
  70.     Hierarchical Text is an extension of outlines.  Outlines are 
  71.     the arrangement of topics in subordinate relationships.  
  72.     Rain and snow are two examples of precipitation and they are 
  73.     properly subtopics of precipitation in an outline of a paper 
  74.     on weather.
  75.  
  76.     If the idea of an outline is extended to an arrangement of 
  77.     ideas in subordinate relationships it becomes Hierarchical 
  78.     Text.  Ideas are paragraphs or groups of paragraphs and a 
  79.     paragraph on precipitation might have subordinate paragraphs 
  80.     on the different kinds of precipitation that one might 
  81.     expect to find.
  82.  
  83.   How Thinker combines HyperText and Hierarchical Text
  84.  
  85.     Thinker is a Hierarchical Text processor with HyperText.  A 
  86.     Thinker document is made up of a collection of paragraphs 
  87.     (referred to as "statements" or "branches" in this manual) 
  88.     arranged hierarchically and containing textual links to each 
  89.     other.  Each statement in a Thinker document can have a 
  90.     label and can be referenced by a textual string (a link) 
  91.     that "names" that label.
  92.  
  93.     A statement that begins with "(" has a label, and the label 
  94.     is the string of non-punctuation characters between the 
  95.     first "(" and the closing ")" at the beginning of the 
  96.     statement.  A link in the text consists of the 
  97.     non-punctuation characters between "<" and ">" characters 
  98.     anywhere in the text.  When the label is a single word, the 
  99.     link to it can be expressed without the  "<" and ">" 
  100.     characters.  Thus, each word in a Thinker document is a 
  101.     potential HyperText link to statement somewhere in the 
  102.     hierarchy of statements that make up the document.
  103.  
  104.     To expand the flexibility of Thinker, a link may contain the 
  105.     name of a Thinker document other than the one in which the 
  106.     link is found.   The document name is separated from the 
  107.     label by a comma.  Thus, <Thinker:example,link> is a link to 
  108.     the section labeled "link" in the Thinker document called 
  109.     "example" on the disk named "Thinker".
  110.  
  111.     When a statement has subordinate statements it is called a 
  112.     branch.  Thinker allows the manipulation of a document by 
  113.     moving, copying, and deleting statements and branches.  When 
  114.     a branch is moved, all the subordinate statements are moved 
  115.     as well.  
  116.  
  117.     Display parameters control the format of the text on the 
  118.     screen.  Thinker can be instructed to display only the first 
  119.     line of each statement and give the appearance of a simple 
  120.     outline.  By controlling the depth of the outline visible, 
  121.     the user can actually "see" very large portions of the 
  122.     document at one time.  When the document is manipulated 
  123.     while viewing it in outline form, all of the text that is 
  124.     part of the document is moved when the visible portions are 
  125.     moved.  
  126.  
  127.   What can Thinker "link" to?
  128.  
  129.     A HyperText link can link to one of three things: 1) A 
  130.     Thinker document, 2) An IFF picture file which can be 
  131.     displayed in a new window (the picture is thus compressed in 
  132.     size and colors) or a separate screen, or 3) any Workbench 
  133.     application, in which case the application is launched in 
  134.     its own window and runs as a separate task.  If a project is 
  135.     to be launched, there MUST be a project icon.  If an 
  136.     application is to be launched, it MUST have a Tool icon. 
  137.  
  138.     The ability to link to other Workbench applications makes 
  139.     Thinker into a HyperMedia product.  Drawings, sound 
  140.     applications, database applications, word processing 
  141.     applications are all possible links in a single Thinker 
  142.     document.
  143.  
  144.   How does one interact with Thinker?
  145.  
  146.     All interaction with Thinker is via the Mouse and Menu 
  147.     system of Intuition.  There are no keyboard commands.  
  148.     Gadgets are available for common commands and menus are 
  149.     available for the complete command set.  Requesters are used 
  150.     extensively to provide a highly responsive user interface.  
  151.     These requesters always appear directly under the mouse 
  152.     cursor with the cursor positioned over the most common 
  153.     choice.
  154.  
  155.     Text on the screen is modified as in many word processors.  
  156.     The cursor is positioned in front of text that is to be 
  157.     modified and typing is always in "insert" mode.  Text is 
  158.     "selected" by sweeping the cursor over a block of text while 
  159.     holding the left mouse button down.  Selected text can be 
  160.     "cut" from the statement and "pasted" elsewhere or simply 
  161.     replaced by typing.  Thinker has "search" and "replace" 
  162.     functions to complete the editing capabilities.  
  163.  
  164.     Thinker will print a document or prepare a text file for 
  165.     manipulation by a word processor or typesetting program.  
  166.     Thinker can also import text prepared by a word processor 
  167.     into a Thinker document.
  168.  
  169.     Thinker appears deceptively simple by design.  The fact that 
  170.     labels and links are merely parts of the text eliminates 
  171.     much of the complexity associated with large numbers of 
  172.     obscure commands.  However, one should not be fooled by the 
  173.     appearance of simplicity.  The combination of Hierarchical 
  174.     text, Hypertext, and Word Processing functions makes Thinker 
  175.     a powerful Idea processor.  Take the time to learn Thinker 
  176.     by working with the tutorial project (EXAMPLE) found on the 
  177.     Thinker distribution disk.
  178.  
  179.   NOTE: Thinker uses a lot of memory.  Lack of memory on CP/M 
  180.   and PC DOS systems is what limited Thinker on these machines 
  181.   to a mere toy.  One of the uses of memory is to cache blocks 
  182.   of documents in memory to avoid disk access.  Poor Person 
  183.   Software recommends the use of a Floppy Accelerator such as 
  184.   Facc II by ASDG.  The cache available in Thinker requires a 
  185.   good deal more memory than Facc II to be as effective in 
  186.   reducing disk access.  Do not attempt to use Thinker without 
  187.   either enabling Thinker's read cache (see menus explained 
  188.   under Options) or using a program like Facc II.
  189.  
  190. Definitions
  191.  
  192.   The terms used in describing a Thinker document have other 
  193.   meanings in other environments.  In order to clarify the 
  194.   following discussion of Thinker, the most common Thinker terms 
  195.   are defined here.
  196.  
  197.   Anchor
  198.  
  199.     The statement that appears at the top of the window is 
  200.     sometimes referred to as the anchor statement of the window. 
  201.      The user navigates around in a document by changing the 
  202.     anchor statement.  The anchor statement is changed with Jump 
  203.     commands. 
  204.  
  205.   Branch
  206.  
  207.     A Branch is a statement with subordinate statements.  When a 
  208.     statement is inserted into a document, it may be inserted at 
  209.     any level relative to the other statements in the document.  
  210.     A branch is a statement at any level that has statements 
  211.     below it.   A branch may have a branch subordinate to it.  A 
  212.     Statement with no subordinate statements is sometimes 
  213.     referred to as a Branch.
  214.  
  215.   Clipping Level
  216.  
  217.     Clipping level refers to the number of document levels that 
  218.     are displayed in a window.  A window with a clipping level 
  219.     of 2 will show only the two highest level statements.  
  220.     Clipping can be used to view a hierarchical document at 
  221.     different levels of detail.  The document can be manipulated 
  222.     with clipping levels that exclude much of the document from 
  223.     the screen.  All of the invisible text is moved with the 
  224.     visible text.
  225.  
  226.     The clipping level can be chosen for the entire document or 
  227.     for single branches.  The Clip gadget at the top of the 
  228.     screen or the Clip menu sets the clipping level that applies 
  229.     to the document as a whole.  "+" or "-" gadgets in front of 
  230.     statements manipulate the clipping level applied to the 
  231.     single branch.
  232.  
  233.   Group
  234.  
  235.     A group is a sequence of branches at the same level.
  236.  
  237.   Jump
  238.  
  239.     When the anchor statement of a window is changed, a 
  240.     different portion of the document becomes visible in the 
  241.     window.  This is referred to as a jump.  Jumps can be made 
  242.     relative to a statement visible on the screen or relative to 
  243.     a statement named in a link.  It is also possible to jump to 
  244.     picture files and Workbench applications.
  245.  
  246.   Label
  247.  
  248.     Any statement in a Thinker document may have a label.  A 
  249.     label is a name by which the statement is known and is like 
  250.     a key in a file.  Thinker recognizes a statement that begins 
  251.     with "(" as its first character as being a labeled 
  252.     statement.  The label is all of the non-punctuation 
  253.     characters between the initial "(" and a trailing ")".  
  254.     Labels in a Thinker document must be unique.  The case of 
  255.     letters in a label is not significant and only the first 19 
  256.     non-punctuation characters are significant.  
  257.  
  258.   Level
  259.  
  260.     Statements are arranged in a hierarchy.  The most important 
  261.     statements are at level 1.  Level 2 statements are 
  262.     subordinate to level 1 statements as in an outline.  Thinker 
  263.     does not limit the number of levels in a document but the 
  264.     display on the screen will be less than satisfactory for 
  265.     more than about 30 levels.
  266.  
  267.   Link
  268.  
  269.     A "link" is the appearance of a label in the text.  A link 
  270.     is either a single word or a string of characters delimited 
  271.     by "<" and ">".  A link consists of two parts.  Part one is 
  272.     optional and names a project, Thinker document or file.  
  273.     Part two is separated from part one with a "," and names a 
  274.     branch.  Picture file links consist of only the file name 
  275.     and the comma as in <Thinker:art/mirage,>.  Links may by 
  276.     typed into requester strings as the address of statements 
  277.     when certain operations invite the user to designate a 
  278.     statement.  Links typed into requesters do not have the 
  279.     surrounding "<" and ">" characters.   Links can be activated 
  280.     by putting the cursor over the link in the text and double 
  281.     clicking the left mouse button or by using the Jump Link 
  282.     command.
  283.  
  284.     Links may designate labeled statements in the same or 
  285.     different Thinker document, IFF picture files, or any 
  286.     Workbench application such as a music player, paint package, 
  287.     or CAD application.  Use the Project name or Tool name in 
  288.     the project portion of a link followed by a comma to specify 
  289.     a link to an application.
  290.  
  291.   Mark
  292.  
  293.     Thinker sometimes invites the user to designate a statement 
  294.     as the target of an operation such as "delete" or "move".  
  295.     The user may elect to mark the statement on the screen or 
  296.     type in a link that designates the statement.  A statement 
  297.     is marked by moving the Pointing Cursor (a hand) such that 
  298.     the hand points to the statement and pressing the left mouse 
  299.     button.
  300.  
  301.   Origin
  302.  
  303.     The first statement in a document is referred to as the 
  304.     origin statement.  The origin statement may be moved or 
  305.     deleted in which case some other statement becomes the 
  306.     origin statement.
  307.  
  308.   Statement
  309.  
  310.     A statement is a block of text.  Statements are like 
  311.     paragraphs in many word processing programs.  Thinker does 
  312.     "word-wrap" within a single statement but not across 
  313.     statements.  Text selection (by sweeping the cursor over 
  314.     text with the left mouse button held down) is limited to 
  315.     text within a single statement.  Statements may contain up 
  316.     to 2000 characters of text including standard and extended 
  317.     characters from the Amiga keyboard.  The <ESC> and carriage 
  318.     return characters are also allowed.
  319.  
  320.   View Specifications
  321.  
  322.     The appearance of the text in the window is controlled by 
  323.     three parameters that together are called the view 
  324.     specifications.  These parameters are "Clipping level", 
  325.     "Spacing", "Number of Lines" and are each explained in the 
  326.     Options Menu section.
  327.  
  328.   Window
  329.  
  330.     Only a small portion of a Thinker document can be displayed 
  331.     on the screen at any time.  Thinker uses Intuition windows 
  332.     to view portions of a document.  Up to 8 windows may be open 
  333.     at any time.   Each window may display a portion of a 
  334.     different document or different portions of the same 
  335.     document.
  336.  
  337. Getting Started
  338.  
  339.   Running from the CLI
  340.  
  341.     The command THINKER [PROJECT-NAME] is used to start Thinker 
  342.     from the CLI.  If a project-name is specified, the Thinker 
  343.     window is automatically positioned at the origin of the 
  344.     document.  If the project name specified does not exist or 
  345.     is not a Thinker document or IFF picture file or if no 
  346.     project-name is specified then the Thinker window is blank 
  347.     and the Jump Link command or Create New command must be used 
  348.     to open a Thinker document.
  349.  
  350.   Running from the Workbench
  351.  
  352.     Double clicking the Thinker Icon will initiate Thinker with 
  353.     no active Thinker document (a blank window).  The Jump Link 
  354.     command or Create New command must be used to open a Thinker 
  355.     document.  If a document Icon is double clicked then Thinker 
  356.     is started with the window positioned at the origin of the 
  357.     document.
  358.  
  359.     Thinker terminates when the last window is closed.
  360.  
  361. Thinker Documents
  362.  
  363.   Thinker documents are not always meant to be read linearly.  
  364.   While this manual was created using Thinker, many uses of 
  365.   Thinker take more advantage of the Hypertext and Hierarchical 
  366.   text features.  A skilled Thinker user creates documents with 
  367.   a definite flavor.  These documents do not always read well 
  368.   when flattened and printed on paper and are meant to be read 
  369.   online.  
  370.  
  371.   Outline nature of Thinker documents
  372.  
  373.     If a Thinker document is viewed with a clipping level of 1, 
  374.     only the first level statements (often these statements are 
  375.     topic names or section headers) will be shown.  It is rare 
  376.     but not impossible to have blocks of text at this level.  An 
  377.     executive summary is presented with the clipping level set 
  378.     at 2.  As the clipping level is increased, more and more 
  379.     details are revealed.  If Thinker is used to design a 
  380.     program one would expect to find code fragments or pseudo 
  381.     code at the deepest levels of the document.
  382.  
  383.   Hypertext features
  384.  
  385.     Information is only presented once.  A reader should be able 
  386.     to start reading a Thinker document at the topic of most 
  387.     interest.  All references to terms that require a definition 
  388.     in the context of the document should always have a link to 
  389.     the section of the document where the term is defined.  The 
  390.     fact the Thinker will treat any word as a link means that a 
  391.     Glossary section could define all terms and contain links to 
  392.     the sections that provide further clarification.  
  393.  
  394.     When a new term is encountered, the reader double clicks on 
  395.     the word to open a window over the Glossary section defining 
  396.     that term.  If there is more information available then the 
  397.     Glossary entry will contain a link to the section of the 
  398.     document where the term is introduced and described in 
  399.     detail.  Double clicking on the link can move the Glossary 
  400.     window to the detailed information.
  401.  
  402.     These links make Thinker ideal for online help where the 
  403.     reader can go directly to the section of interest and still 
  404.     be able to locate quickly all the pertinent information.
  405.  
  406.   Planning a book
  407.  
  408.     One possible use of Thinker involves coordinating all the 
  409.     details of a novel.  One technique that might be of value is 
  410.     to have several major sections of a Thinker document for 
  411.     various aspects of the planning process.  One section would 
  412.     have a labeled branch for each character in the book.  Other 
  413.     sections would describe historical events of interests and 
  414.     descriptions of each location.  Each of these sections would 
  415.     have labeled statements for each detail.
  416.  
  417.     The section of the document that describes the story line 
  418.     (plot) of the book would contain links to the sections 
  419.     containing detailed information.  The plot can be reviewed 
  420.     without having to wade through details that might confuse 
  421.     the issues.  As needed, each reference in the plot to 
  422.     details about characters, scenes, events, etc could be 
  423.     checked by jumping to the section of the document where this 
  424.     information is found.  Multiple windows help organize the 
  425.     thought process.
  426.  
  427.   Organizing picture files
  428.  
  429.     Since links may be to IFF picture files, one use of Thinker 
  430.     might be to build a catalog of picture files.  Each section 
  431.     of the document would have a first level statement with a 
  432.     label indicating the type of pictures indexed.  The 
  433.     subordinate statements would contain descriptions of the 
  434.     picture and a link to the picture file.  Pictures are 
  435.     located by jumping to the section of the document with the 
  436.     descriptions for the correct type of picture and then double 
  437.     clicking on the link to the correct picture.
  438.  
  439.   Thinker documents as databases
  440.  
  441.     Labeled statements in Thinker documents are much like 
  442.     indexed records in a database.  There is a great deal of 
  443.     flexibility above the typical database, however.  Records 
  444.     are not a fixed format.  Records can contain a variable 
  445.     number of pointers to other records.  Records can be part of 
  446.     a document meant to be read.  
  447.  
  448.     Using Thinker to write is like writing inside a database as 
  449.     references can be checked with the click of a mouse button.  
  450.     Using Thinker is like having a completely free form database 
  451.     with references to applications, pictures, and documents.
  452.  
  453.   Thinker as a desktop organizer
  454.  
  455.     A desktop document can be used as an alternative to the 
  456.     Workbench.  Within the document are labeled statements 
  457.     covering various working task areas such as Letter Writing, 
  458.     Programming, Finance, etc.  Subordinate to these statements 
  459.     are labeled statements for each task in that area.  These 
  460.     statements describe the task and may include sentences 
  461.     describing the progress of the task.  Finally, there are 
  462.     links within the statements that name the Project or Tool 
  463.     used to work on the task.  A description of a program might 
  464.     contain the name of the source for the program so that you 
  465.     can link directly to the source and work on it within your 
  466.     favorite editor.  Other statements can link to other 
  467.     Projects and Tools, any of which can be launched in 
  468.     multitasking mode.
  469.  
  470. Viewing a Document
  471.  
  472.   A linear document is usually viewed by scrolling a window over 
  473.   the document.  A Thinker document is viewed by navigating 
  474.   around the document using the view specifications to control 
  475.   what is displayed on the screen.  There are three view 
  476.   specifications that control the display.  
  477.  
  478.     Clipping Level
  479.  
  480.       The depth of the hierarchy that is displayed is determined 
  481.       by the Clipping level.  A clipping level of 1 will show 
  482.       only the first level of the hierarchy (the major topics) 
  483.       and as the clipping level is increased more details are 
  484.       shown.
  485.  
  486.       When the choice of clipping level causes statements to be 
  487.       hidden from view, a "+" character appears in front of the 
  488.       branch that has hidden subordinate statements.  Selecting 
  489.       the statement "+" gadget will cause Thinker to display the 
  490.       first level of hidden statements.  The clipping level is 
  491.       increased by one for the selected branch only.
  492.  
  493.       When subordinate statements are displayed as a result of 
  494.       selecting the statement "+" gadget, the "+" gadget is 
  495.       changed into a "-" gadget.  Selecting the statement "-" 
  496.       gadget will cause Thinker to hide the subordinate 
  497.       statements. 
  498.  
  499.       If you want to find a particular area of the document and 
  500.       you don't know the label that names it, you can begin with 
  501.       a clipping level of 1.  Use the statement "+" gadgets to 
  502.       selectively increase the clipping level in the area of 
  503.       interest.
  504.  
  505.     Number of lines shown in each statement
  506.  
  507.       The document can be viewed as an outline by setting the 
  508.       display to show only the first line of each statement.  
  509.       This setting often speeds the search for a particular 
  510.       section significantly as more of the document is shown on 
  511.       the screen at one time.
  512.  
  513.     Spacing between statements
  514.  
  515.       Once the correct section of the document has been located, 
  516.       the spacing is adjusted for either maximum screen content 
  517.       (0 lines between statements) or ease of reading (1 or more 
  518.       lines between statements).
  519.  
  520.   One views a non-linear Thinker document by moving the window 
  521.   to particular places in the document with the Jump command.  
  522.   Jumping can be done relative to a statement or via a link.  
  523.   For each of the Jump commands listed below it is necessary to 
  524.   establish the statement relative to which the Jump takes 
  525.   place.  Most Jump commands require that the designated 
  526.   statement be Marked by moving the Marking Pointer over the 
  527.   statement and pressing the left mouse button.  For some Jumps 
  528.   the label of the statement may be typed into the requester or 
  529.   marked on the screen instead.  For Jumps that allow the 
  530.   designation of a labeled statement, a requester appears with 
  531.   two choices.
  532.  
  533.     Mark
  534.  
  535.       If you select Mark by moving the pointer over the word 
  536.       Mark and pressing the left mouse button, the pointer will 
  537.       change into a hand.  Move the hand so that the finger 
  538.       points to the portion of the text on the screen that 
  539.       represents the name of the designated statement (a link).  
  540.       This can either be any word in the text or a string 
  541.       between the "<" and ">" characters.  Mark the link by 
  542.       pressing the left mouse button.
  543.  
  544.     String Gadget
  545.  
  546.       If there is no string on the screen that represents the 
  547.       link to the designated statement and you know its label 
  548.       name, you can simply type the label name into the string 
  549.       gadget.  The string gadget is already active so you do not 
  550.       need to move the mouse or press any buttons.  Do not type 
  551.       the "<" or ">" that delimit a link in the text.  The 
  552.       <carriage return> key signals the completion of typing.
  553.  
  554.   The following Jump commands are available either through the 
  555.   Command Menu, Jump sub-menu or by selecting the Jump gadget at 
  556.   the top of the screen.  In all cases the result of the Jump is 
  557.   to make the designated statement the anchor of the current 
  558.   window, the anchor of some other open window, or open a new 
  559.   window with the designated statement as its anchor.
  560.  
  561.     Mark
  562.  
  563.       Some statement on the screen is chosen by moving the 
  564.       marking pointer over the statement and pressing the left 
  565.       mouse button.
  566.  
  567.     Link
  568.  
  569.       The designated statement is not on the screen and either 
  570.       its label is known or a link to the statement is on the 
  571.       screen.  The label of the statement can be typed into the 
  572.       string gadget, the marking pointer can be moved over a 
  573.       link to the statement on the screen and selected with the 
  574.       left mouse button or a file requester can be brought up to 
  575.       scan for Thinker documents or workbench applications.  See 
  576.       the section titled File Requester Explained for an 
  577.       explanation of how to use this requester.
  578.  
  579.       There is a short cut to doing a Jump Link.  Any time the 
  580.       left mouse button is "double clicked" an implicit Jump 
  581.       Link (Mark) command is executed with the link being the 
  582.       character string under the cursor.  If the cursor is 
  583.       between "<" and ">" characters, then the delimited string 
  584.       is used as the link.  If no "<" and ">" characters appear 
  585.       on the line then the word under the cursor is used as the 
  586.       link.  These are the same rules for locating the link on 
  587.       the line when Mark is selected on a Jump Link command.
  588.  
  589.     Return
  590.  
  591.       The last 6 of 16 possible previous locations in the 
  592.       document are summarized in a requester.  Select the 
  593.       designated statement from the selection list in the 
  594.       requester with the mouse.  The first portion of the string 
  595.       shown in the requester is part of the project name 
  596.       (between "<" and ">").
  597.  
  598.     Forward
  599.  
  600.       This is a Jump to the last statement on the screen.  Jump 
  601.       Forward can be used repeatedly to scroll forward in a 
  602.       Thinker document.
  603.  
  604.     Up
  605.  
  606.       Once the statement has been marked with the Marking 
  607.       Pointer, the window is moved to the statement of which the 
  608.       marked statement is subordinate.
  609.  
  610.     Down
  611.  
  612.       This Jump is like Jump Up except that the window is moved 
  613.       to the next statement one level deeper in the hierarchy.  
  614.       This is more likely to be useful if the resultant Jump is 
  615.       to a level deeper than the current clipping level (toward 
  616.       more details).
  617.  
  618.     Preceding
  619.  
  620.       The Jump is to the statement that precedes the marked 
  621.       statement at the same level.  Note that if the marked 
  622.       statement is the first statement in a group that is 
  623.       subordinate to some statement, the Jump does not complete 
  624.       as there is no statement preceding the marked one at the 
  625.       same level.
  626.  
  627.     Succeeding
  628.  
  629.       The Jump is to the statement that follows the marked 
  630.       statement at the same level.  If the statement marked is 
  631.       the last statement of a group subordinate to some 
  632.       statement, the Jump does not complete as there is no 
  633.       statement following at the same level.
  634.  
  635.     Next
  636.  
  637.       The Jump is to the statement that follows the designated 
  638.       statement regardless of level.  Jump Next is a scroll 
  639.       forward.
  640.  
  641.     Back
  642.  
  643.       The Jump is to the statement that precedes the designated 
  644.       statement regardless of the level.  Jump Back is like a 
  645.       scroll backward one statement.
  646.  
  647.     Origin
  648.  
  649.       The Jump is to the origin statement of the document.
  650.  
  651. Editing
  652.  
  653.   Text within a statement is edited much like text in a standard 
  654.   word processor.  Of course any editor is a bit fascist and 
  655.   Thinker is no exception.
  656.  
  657.   The cursor is positioned by using the mouse or cursor keys.  
  658.   The cursor keys move the cursor within a statement, between 
  659.   statements, and will cause statement scrolling forward or 
  660.   back.  When the mouse is used to position the cursor, the left 
  661.   mouse button is used to mark the place in the text.  
  662.   Subsequent typing inserts characters at the cursor location.  
  663.   "Backspace" deletes a character to the left of the cursor and 
  664.   moves the cursor to the left.  "Delete" deletes a character to 
  665.   the right of the cursor and does not move the cursor.
  666.  
  667.   All printable keyboard characters are allowed in text 
  668.   (including alternate characters).  In addition the <ESC> 
  669.   character and <CR> character are allowed.  The <ESC> character 
  670.   is useful for imbedding printer commands in text.  The <CR> 
  671.   (carriage return) character is used in formatting tables as a 
  672.   single statement rather than as a group of statements.  The 
  673.   <CR> character is visible as "~" and causes the cursor to move 
  674.   to the next line of the statement in the first column of the 
  675.   statement.  A <New Line> character is put into the text. 
  676.  
  677.   A block of text may be selected by holding down the left mouse 
  678.   button while moving the cursor over the text on the screen.  
  679.   Only text that is totally within a single statement can be 
  680.   selected in this fashion.  Once selected, the text can be 
  681.   "Cut" from the statement and "Pasted" at some other location.  
  682.   Selected text is replaced by any typed characters and the 
  683.   selected text is forever lost.
  684.  
  685.   Undo is supported with the "Discard Modifications" menu 
  686.   selection.  All modifications including structural changes are 
  687.   deleted.  The user may select "undo points" by using the 
  688.   "Apply Modifications" menu selection.  In fact no changes are 
  689.   recorded until Apply Modifications is selected.  There is a 
  690.   reminder warning presented if the user attempts to leave 
  691.   Thinker without Applying Modifications.  The requester gives 
  692.   the opportunity to Apply or Discard the modifications.
  693.  
  694.   Search and Replace operations are selected from the Edit menu.
  695.  
  696. (manipulating the structureManipulating the Structure
  697.  
  698.   Statements in a Thinker document may be moved within the 
  699.   hierarchy, moved to another document, copied to other places 
  700.   in the same document, or copied to other documents or deleted. 
  701.    The movement, copying, or deletion of statements does not 
  702.   require that the entire structure to be moved, copied or 
  703.   deleted be visible on the screen as parts of the structure may 
  704.   be obscured by the selection of viewing specifications.
  705.  
  706.   It is the ability to manipulate whole structures of the 
  707.   document that make the hierarchical text such a powerful tool. 
  708.    The viewing specifications can be set to view the document in 
  709.   its outline form (set the number of lines for each displayed 
  710.   statement to 1) and the entire document can be restructured.
  711.  
  712.   Move and Copy and Delete options are available for individual 
  713.   statements, branches, and groups of statements or branches.  
  714.   In all cases a sequence of requesters walks the user through 
  715.   the operation.  Some of these requesters have a "Prev" or 
  716.   "Previous" gadget which will recall the previously typed 
  717.   string gadget.
  718.  
  719.   New statements can be Inserted into the document at any level. 
  720.    A double click of the menu button shortcuts the insert 
  721.   process.
  722.  
  723.     Insert
  724.  
  725.       Selecting the Insert gadget (or menu selection Insert 
  726.       Mark) presents the Marking Pointer.  A new statement will 
  727.       be inserted after the statement marked.  A confirmation 
  728.       requester allows the user to select the level relative to 
  729.       the marked statement.  Remember that Up and Down refer to 
  730.       the physical subordination of statements as viewed on the 
  731.       screen.
  732.  
  733.       Double clicking the right mouse button with the cursor 
  734.       over a statement is eqivalent to selecting Insert and 
  735.       marking a statement.
  736.  
  737.       Menu selections Insert After, Insert Down, and Insert Up 
  738.       insert a statement relative to the statement with the 
  739.       active typing cursor without the confirmation requester or 
  740.       any mouse action.
  741.  
  742.     Delete
  743.  
  744.       The user is presented with a requester to select either a 
  745.       Branch or Group delete.  Once the choice has been made, 
  746.       the user is walked through the selection process.  Each 
  747.       time that a statement is to be designated the user is 
  748.       given the choice of Marking the statement with the Marking 
  749.       Pointer or typing in the label name of the statement.  The 
  750.       designated statement or group need not be visible on the 
  751.       screen nor even in the same document that is visible on 
  752.       the screen.
  753.  
  754.       However, if the Mark option is used for both the beginning 
  755.       and end of a group, both ends of the group must be in the 
  756.       same window.
  757.  
  758.     Copy
  759.  
  760.       The user is presented with a requester to select 
  761.       Statement, Branch, or Group copy.  Once selected, the user 
  762.       is walked through the selection process.
  763.  
  764.       Copy Group is like Delete Group in that both the begin and 
  765.       end statements must be marked in the same window, however, 
  766.       either the end or beginning may be specified by typing the 
  767.       label in the string gadget.
  768.  
  769.       The destination of the copy may be marked in the same or 
  770.       another Thinker window.  The destination of the copy may 
  771.       also be in another project that is not visible (as in 
  772.       delete.)
  773.  
  774.       There are some restrictions on the destination of a copy.  
  775.       A Branch or Group may not be copied to a place within the 
  776.       Branch or Group as this copy would never complete. 
  777.  
  778.     Move
  779.  
  780.       Move is almost like Copy.  In fact Move may be thought of 
  781.       as a Copy followed by a Delete.
  782.  
  783. A Tutorial Example
  784.  
  785.   The first part of the tutorial will walk the user through the 
  786.   process of building a Thinker document.  The second part of 
  787.   the tutorial makes use of an existing Thinker document called 
  788.   "example".  
  789.  
  790.   The Thinker document "Example" is a tutorial that leads the 
  791.   user through a short example of using Thinker to view and 
  792.   manipulate a document.  Duplicate the EXAMPLE document using 
  793.   the "Duplicate" option of the "Workbench" menu before trying 
  794.   the tutorial.  If you want to recover the original EXAMPLE 
  795.   document you can discard the EXAMPLE icon and "Rename" the 
  796.   "copy of example" icon.
  797.  
  798.   Start the first part of the tutorial by double clicking on the 
  799.   Thinker icon.  This will start the Thinker program and bring 
  800.   up a window with the basic gadgets and menus but will have no 
  801.   document displayed.  At this point we might jump into some 
  802.   existing document or create a new document.  One would jump 
  803.   into an existing document with the Jump Link command and 
  804.   create a new document with the Create New menu selection (in 
  805.   the Project menu). 
  806.  
  807.   As an example of jumping into an existing document, there is a 
  808.   section in the "example" project that explains the format of a 
  809.   link.  The label on this section is "link".  To jump to that 
  810.   section, begin by selecting the Jump Link command (either from 
  811.   the menu bar or by selecting the "Jump" gadget at the top of 
  812.   the window and then selecting the "Link" gadget in the Jump 
  813.   Requester.)  Next, type in the string "example,link" (without 
  814.   the " marks) followed by typing the "RETURN" key.  Finally, 
  815.   select the "This Window" gadget in the Jump Confirmation 
  816.   Requester.
  817.  
  818.   Typing the string "example," (note the comma but no label 
  819.   typed after the comma) would jump to the beginning (origin) of 
  820.   the document "example".
  821.  
  822.   Whether or not you take the diversion suggested by the 
  823.   previous paragraphs, you create a new Thinker document by 
  824.   selecting the "Create New" menu option from the "Project" 
  825.   menu.   Do so now.  Note that a requester pops up inviting you 
  826.   to enter a project name.  The first part of the requester is 
  827.   filled in with the name of the current Drawer.  Since you 
  828.   double clicked the Thinker icon directly, this Drawer name 
  829.   will be the Drawer in which the Thinker program was found.  
  830.   The Requester is already activated so simply type in the name 
  831.   of your new project.  In this example we use the name 
  832.   "tutorial".  If you entered the name "example" you will be 
  833.   greeted by a requester asking if you want to replace the 
  834.   "example" project that already exists.  You should respond by 
  835.   selecting the CANCEL gadget and begin again typing the name 
  836.   "tutorial".
  837.  
  838.   After some disk activity the window will display the new 
  839.   document (note the change in the window title) and the 
  840.   document will contain a single statement (a Copyright notice). 
  841.    The first thing to do is to replace the Copyright notice with 
  842.   the first statement of our new document.  You might try using 
  843.   the Delete (Branch) command but you will find that you cannot 
  844.   delete the only branch in a document.    
  845.  
  846.   Move the pointer over the Copyright notice and observe that 
  847.   while the pointer is within the statement it is shaped like a 
  848.   cursor.  Move the cursor shape to the very beginning of the 
  849.   statement and press the left mouse button.  While holding down 
  850.   the left mouse button, move the cursor to the end of the 
  851.   statement.  Notice that the selected text becomes highlighted 
  852.   as you move the cursor.  When you have the entire statement 
  853.   selected, release the left mouse button.  Type in the string 
  854.   "What I did last Summer" (do not type the RETURN key).  Notice 
  855.   that the selected text is removed and replaced with the typed 
  856.   string.
  857.  
  858.   Now we are going to add some statements.  This initial 
  859.   document will look a great deal like an outline.  Remember 
  860.   that any statement you type could be as long as 2000 
  861.   characters and fill the entire window.  In order to keep this 
  862.   first example short, we will only type a few words in each 
  863.   statement.
  864.  
  865.   Select the "Insert" gadget at the top of the window.  Note 
  866.   that the pointer changes into a hand with a pointing finger.  
  867.   Move the hand so that the finger points at the first 
  868.   statement.  Press the left mouse button and notice that an 
  869.   Insert Confirmation Requester pops up with the pointer 
  870.   pointing to the word "After".  If you wanted this new 
  871.   statement to be directly after the first statement, you would 
  872.   simply press the left mouse button again.  Instead, move the 
  873.   pointer over the word "Down" in the requester and press the 
  874.   left mouse button.  Notice that the text insert cursor appears 
  875.   on the screen just below the first statement and indented by 
  876.   two characters.  Type the string "(school)Went to Summer touch 
  877.   typing classes.".  
  878.  
  879.   Select the Insert gadget again and move the hand to point to 
  880.   the statement you just typed.  Press the left mouse button 
  881.   twice (the first time selects the statement and the second 
  882.   time selects the word "After" in the confirmation requester.)  
  883.   Type the string "(beach)Went to the beach with Bob and met his 
  884.   little girl Lauren."  (Who is Bob?)  Bob is someone that 
  885.   attended the same typing class so you will want to put any 
  886.   information about Bob in statements that are subordinate to 
  887.   the statement labeled "school".  Position the pointer over the 
  888.   first statement (the one labeled "school") and double click 
  889.   the right mouse button.  The Insert Confirmation Requester 
  890.   should pop up and you should select the "Down" gadget.  Type 
  891.   the string "(bob)Met Bob, a computer science student who 
  892.   wanted to learn typing skills."
  893.  
  894.   Move the pointer back to the last statement "(beach)Went...." 
  895.   and position the cursor over the word "Bob" and double click 
  896.   the left mouse button.  Notice that the Jump Confirmation 
  897.   Requester pops up with the pointer positioned over the words 
  898.   "This Window".  Move the pointer over the word "New Window" 
  899.   and press the left mouse button.  Notice that the new window 
  900.   opens with the statement "(bob)Met Bob,..." as the anchor of 
  901.   the window.  This is an example of a hypertext link.  "Bob" is 
  902.   the label on the statement "(bob)Met..." and the double click 
  903.   of the left mouse button with the cursor over the word "Bob" 
  904.   was a Jump Link command.  The same effect could be caused by 
  905.   selecting the "Jump Link" command from the "Commands" menu, or 
  906.   by selecting the Jump (Link) gadget at the top of the window 
  907.   and typing the characters "bob" followed by RETURN.  
  908.  
  909.   Who is Lauren?  Position the cursor right after the word 
  910.   "Lauren" and press the left mouse button once.  The text input 
  911.   cursor should appear between the "n" and the ".".  Type the 
  912.   string " (See <mirage,>)".  This is a link to a 
  913.   picture file.  Note that the comma must be present to indicate 
  914.   that the link is to some other file and not the document shown 
  915.   in the window ("tutorial"). 
  916.  
  917.   You have just added a hypertext link to an IFF picture file.  
  918.   This link had to be surrounded by "<" and ">" because it 
  919.   contained punctuation characters (":" and ",").  Move the 
  920.   cursor between the "<" and the ">" and double click the left 
  921.   mouse button.  When the Picture Confirmation Requester pops up 
  922.   select the "Full Screen" gadget.  After a pause, a picture of 
  923.   Lauren appears (From the NewTek "Digi Paint" package.)  Typing 
  924.   any character or pressing the left mouse button will remove 
  925.   the picture and return the Thinker screen.  Repeat the 
  926.   selection of the picture link and select the "New Window" 
  927.   gadget.  This time an approximation of the same picture will 
  928.   be drawn in a new workbench window that you may move around on 
  929.   the screen.  This approximate picture is drawn with the 4 
  930.   colors available on your workbench.  The window has an 
  931.   invisible close gadget in the upper left corner that will 
  932.   close the window when selected. 
  933.  
  934.   If you want to save the changes you have made to this new 
  935.   project, select the "Apply Modifications" menu selection from 
  936.   the "Project" menu.  "Discard Modifications" will restore the 
  937.   project to its initial state (with the Copyright notice).
  938.  
  939.   This completes the first part of the tutorial.  The second 
  940.   part of the tutorial uses an existing document called 
  941.   "example".  You can begin by closing the Thinker window 
  942.   (select the close gadget in the upper left corner) and 
  943.   starting all over again by double clicking on the EXAMPLE 
  944.   icon, or by doing a Jump Link to "example," (don't forget the 
  945.   comma).  In either case you should read the next paragraph 
  946.   before going on with the second part of the tutorial.
  947.  
  948.   Start the second part of the tutorial by double clicking on 
  949.   the EXAMPLE icon or by selecting the icon and use the "Open" 
  950.   option of the "Workbench" menu.  Read carefully and follow the 
  951.   instructions.  It is helpful if you read ahead a little before 
  952.   executing the instructions.  The tutorial is not very long or 
  953.   complicated but is intended solely to give the reader a little 
  954.   familiarity with the behavior of Thinker and build a little 
  955.   confidence for the first time user of Thinker.
  956.  
  957. Not So Obvious Features
  958.  
  959.   Most of the operation of Thinker can be discovered by 
  960.   exploring the menus and selecting the gadgets.  There are, 
  961.   unfortunately, some behaviors that are not manifest by this 
  962.   exploration.  There are also some curious restrictions.  Poor 
  963.   Person Software tries hard to produce software that is useful 
  964.   and complete but without all the frills that would make it 
  965.   expensive.
  966.  
  967.   Restrictions
  968.  
  969.     When the Mark option is used for both the beginning and end 
  970.     of a group, both ends of the group must be in the same 
  971.     window.
  972.  
  973.     Only 19 characters of a label are significant.
  974.  
  975.   Features
  976.  
  977.     Undo
  978.  
  979.       Once modifications have been applied to a Thinker document 
  980.       they cannot be "undone".  However, Thinker will accumulate 
  981.       all the updates to a document in its memory (the Update 
  982.       pool) until Apply Modifications is selected in the Project 
  983.       Menu.  The user should learn to schedule updates to allow 
  984.       for backout of recent errors.
  985.  
  986.     Remembering Local Clip adjustments
  987.  
  988.       When the clipping level for a branch is adjusted using the 
  989.       "+" gadgets in front of statements, this action is 
  990.       recorded in a small in-memory data base.  This database 
  991.       has room for 32 selections of "+" gadgets in each project. 
  992.        If the 33rd entry is made into this database, the oldest 
  993.       entry is purged. 
  994.  
  995.     Power Tools
  996.  
  997.       Double clicking the right mouse button with the pointer 
  998.       positioned over a statement will cause Thinker to put up
  999.       a "power tool" requester.  The left side of the requester
  1000.       is an "Insert" confirmation requester and the pointer is
  1001.       positioned over the "After" selection.  Selecting "After"
  1002.       causes Thinker to insert a statement after the one under
  1003.       the pointer.  
  1004.  
  1005.       The right side of the requester allows selection of the 
  1006.       "Copy", "Move", "Jump", and "Delete" tools.  Selecting one
  1007.       of these gadgets is equivalent to selecting the corresponding
  1008.       gadget at the top of the window.
  1009.  
  1010.     Duplicate Labels
  1011.  
  1012.       Thinker does not allow duplicate labels.  When a label is 
  1013.       encountered that is a duplicate of an already existing 
  1014.       label, the label is changed to a null label.  When this 
  1015.       happens, a statement may end up beginning with "()" which 
  1016.       is the result of eliminating the duplicate label.
  1017.  
  1018.